package com.example.moduleName.nbm;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

/**
 * @ProjectName: ronglian-read-data
 * @Package: com.example.moduleName.nbm
 * @ClassName: NewCarBusinessRes
 * @Author: liuzhijie
 * @Description:
 * @Date: 2024/5/27 14:59
 * @Version: 1.0
 */
@NoArgsConstructor
@Data
public class NewCarBusinessRes {

    @JsonProperty("success")
    private Boolean success;
    @JsonProperty("code")
    private Integer code;
    @JsonProperty("message")
    private String message;
    @JsonProperty("data")
    private DataDTO data;

    @NoArgsConstructor
    @Data
    public static class DataDTO {
        @JsonProperty("grossProfitDerived")
        private GrossProfitDerivedDTO grossProfitDerived;
        @JsonProperty("gp")
        private List<GpDTO> gp;
        @JsonProperty("oneCarGive")
        private OneCarGiveDTO oneCarGive;

        @NoArgsConstructor
        @Data
        public static class GrossProfitDerivedDTO {
            @JsonProperty("grossProfitDerived")
            private String grossProfitDerived;
            @JsonProperty("grossProfitDerivedYoy")
            private String grossProfitDerivedYoy;
            @JsonProperty("grossProfitDerivedMom")
            private String grossProfitDerivedMom;
            @JsonProperty("grossProfitDerivedList")
            private List<GrossProfitDerivedListDTO> grossProfitDerivedList;

            @NoArgsConstructor
            @Data
            public static class GrossProfitDerivedListDTO {
                @JsonProperty("amount")
                private String amount;
                @JsonProperty("model")
                private String model;
                @JsonProperty("ratio")
                private String ratio;
            }
        }

        @NoArgsConstructor
        @Data
        public static class OneCarGiveDTO {
            @JsonProperty("oneCarGiveYoy")
            private String oneCarGiveYoy;
            @JsonProperty("oneCarGive")
            private String oneCarGive;
            @JsonProperty("oneCarGiveMom")
            private String oneCarGiveMom;
        }

        @NoArgsConstructor
        @Data
        public static class GpDTO {
            @JsonProperty("gpRatio")
            private String gpRatio;
            @JsonProperty("gpRatioYoy")
            private String gpRatioYoy;
            @JsonProperty("name")
            private String name;
            @JsonProperty("gp")
            private String gp;
            @JsonProperty("gpRatioMom")
            private String gpRatioMom;
        }
    }
}
